const formidable = require('formidable');
const User = require('../../db/UserSchema');
// 路径模块
let path = require('path');
const e = require('express');

// 设置上传内容的配置
const form = formidable({
    // 设置文件的扩展名
    keepExtensions: true,
    uploadDir: path.join(__dirname, '../', '../', 'public', 'uploads')
});

module.exports = (req, res) => {
    console.log('已经进来了');

    form.parse(req, async(err, fields, files) => {
        if (err) {
            res.status(500).send(err);
        } else {
            // Model.updateOne()
            // 1.根据id进行更新
            console.log(req.params);
            // 2.准备更新的数据
            console.log(fields);
            console.log(files);
            // 准备更新的数据
            let updateUserData = {
                username: fields.username,
                age: fields.age,
                sex: fields.sex,
                address: fields.address
            };
            try {
                // 更新结果的判断
                if (files.pic.originalFilename) {
                    await User.updateOne({ '_id': req.params.id }, {
                        pic: '/uploads' + '/' + files.pic.newFilename,
                        ...updateUserData
                    });
                } else {
                    await User.updateOne({ '_id': req.params.id }, updateUserData);
                };
                // 重定向
                res.redirect('/admin/userlist');
            } catch (error) {
                res.status(500).send('修改失败' + error);
            }
        }
    });
}